package com.ruyuan.eshop.construction.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruyuan.eshop.construction.domain.dto.FrontCategoryDTO;
import com.ruyuan.eshop.construction.domain.dto.FrontCategoryTreeDTO;
import com.ruyuan.eshop.construction.domain.dto.FrontCategoryResultDTO;
import com.ruyuan.eshop.construction.domain.entity.FrontCategoryDO;
import com.ruyuan.eshop.construction.domain.request.QueryCategoryRequest;
import com.ruyuan.eshop.construction.domain.request.FrontCategoryRequest;

import java.util.List;

/**
 * 前台类目信息
 *
 * @author zhonghuashishan
 */
public interface FrontCategoryService {

    /**
     * 查询类目树
     *
     * @param request
     * @return java.util.List<com.ruyuan.eshop.construction.domain.dto.FrontCategoryTreeDTO>
     * @author zhonghuashishan
     */
    List<FrontCategoryTreeDTO> selectTree(QueryCategoryRequest request);

    /**
     * 查询当前类目的子节点
     *
     * @param request
     * @return java.util.List<com.ruyuan.eshop.construction.domain.dto.FrontCategoryDTO>
     * @author zhonghuashishan
     */
    List<FrontCategoryDTO> selectChild(QueryCategoryRequest request);

    /**
     * 保存类目信息
     *
     * @param request
     * @return com.ruyuan.eshop.construction.domain.dto.FrontCategoryResultDTO
     * @author zhonghuashishan
     */
    FrontCategoryResultDTO saveFrontCategory(FrontCategoryRequest request);
}
